/*
 * UMediaFilter.cpp
 *
 *  Created on: 2020年4月29日
 *      Author: chuanjiang.zh
 */

#include "UMediaFilter.h"

UMediaFilter::UMediaFilter():
	m_state(UMEDIA_STATE_STOPPED)
{
}

const char* UMediaFilter::getUrl()
{
	return m_url.c_str();
}

bool UMediaFilter::getMediaFormat(UMediaFormat& fmt)
{
	fmt = m_format;
	return fmt.isValid();
}

int UMediaFilter::startStream()
{
	setState(UMEDIA_STATE_PLAYING);
	return 0;
}

int UMediaFilter::pauseStream()
{
	setState(UMEDIA_STATE_PAUSED);

	return 0;
}

void UMediaFilter::stopStream()
{
	setState(UMEDIA_STATE_STOPPED);
}

int UMediaFilter::getState()
{
	return m_state;
}

bool UMediaFilter::addSink(UMediaSink* pSink)
{
	return m_sinks.addSink(pSink);
}

void UMediaFilter::removeSink(UMediaSink* pSink)
{
	m_sinks.removeSink(pSink);
}

void UMediaFilter::removeSinks()
{
	m_sinks.removeSinks();
}

size_t UMediaFilter::getSinkCount()
{
	return m_sinks.size();
}

int UMediaFilter::forceKeyFrame()
{
	return 0;
}

int UMediaFilter::getDuration()
{
	return 0;
}

bool UMediaFilter::setScale(float scale)
{
	return false;
}

float UMediaFilter::getScale()
{
	return 1.0f;
}

bool UMediaFilter::isSeekable()
{
	return false;
}

bool UMediaFilter::seek(int64_t pos)
{
	return false;
}

int64_t UMediaFilter::getTime()
{
	return 0;
}

void UMediaFilter::setState(UMediaState state)
{
	m_state = state;
}
